草庐IT

c++ - 从 CFURLRef 或 CFStringRef 转换为 std::string

全部标签

c - 如何判断我的 Windows 应用程序何时终止?

当我的Windows程序(C/C++)被Taskmgr.exe杀死时,有什么方法可以收到通知吗?它似乎没有收到任何特殊的Windows消息-它只是终止。我不想阻止它终止,我只想写一个它被手动终止的某种通知。谢谢。 最佳答案 如果它是一个完整的Windows应用程序,您应该在应用程序退出之前在您的消息泵中获取WM_QUIT。如MSDN所述:http://msdn.microsoft.com/en-us/library/windows/desktop/ms632641(v=vs.85).aspx这不会发布到窗口的消息队列中,您只能在主消

c - 一个程序改变另一个程序的数据

我可以编写并运行一个创建整数的程序吗?我可以编写另一个程序来修改这个整数吗? 最佳答案 是的,但你将不得不涉及某种inter-processcommunication.在大多数现代操作系统上,内存是虚拟的,不能直接共享原始指针。 关于c-一个程序改变另一个程序的数据,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/12038350/

windows - 有没有工具可以在 Windows 上将 UTF-8 文件名批量转换回 ISO-8859-1?

我从远程FTP服务器的多个子目录中下载了很多文件,问题是这些文件具有非拉丁文件名,并且它们下载时带有奇怪的字符,例如:ë,Ã,ì,ù,Ã和ط§ظ„ظ…ط±有没有办法将这些文件名恢复到原来的名称?也许使用基于Windows的批处理工具?谢谢!附言我这样做只是为了将具有正确名称的文件上传到新服务器。 最佳答案 在PowerShell中:Get-ChildItem|ForEach-Object{$filename=Split-Path-Leaf$_$new=[Text.Encoding]::Utf8.GetString([Text.

c++ - Win32 : Passing lParam to CreateWindow and keeping track of open windows

首先,这是我收到的文档中的描述。注意:我所要做的就是更改现有代码以满足这些要求更改代码以创建4个组织的窗口,如演示中所示。当用户关闭一个窗口时,如果还有其他窗口仍然打开它不会终止程序。用户必须关闭所有这些才能停止程序,您需要跟踪打开的窗口数(并减去当它们关闭时)。不允许使用全局变量。不允许静态。此外,您的程序必须使用lParam和CREATESTRUCT初始化计数。Possiblefunctionsandstructs:SetWindowLong()GetWindowLong()SetClassLong()GetClassLong()CREATESTRUCT现在好了,这就是我的结尾。我

c# - 如何在 Windows 中的那个时刻查找特定进程的 cpu 使用率

是否有可能在Windows中以编程方式(以任何语言)了解正在运行/空闲进程的CPU使用情况? 最佳答案 如果您不关心支持旧的Windows版本(早于WindowsXPSP1),您可以使用GetSystemTimesWin32APIfunction.否则你必须使用PerformanceCounters. 关于c#-如何在Windows中的那个时刻查找特定进程的cpu使用率,我们在StackOverflow上找到一个类似的问题: https://stackover

c++ - 按值传递 std::function<bool (int)>

我是想曝光typedefstd::functionFilter;这是的一部分#include这样用户就可以创建过滤器并将其传递到我的组件中进行处理。该要求要求处理不能在模板函数中完成。我知道在接口(interface)上使用STL不是一个好的做法,因为Filter类型的大小取决于STL实现。除了原始函数指针或由模板函数接收的仿函数,我还有哪些替代选择。 最佳答案 大小在这里不是很重要,但如果使用您的库的某个人使用不同的STL实现,那么您的代码将无法使用,那么另一种选择是什么?我将为此使用一个接口(interface)(纯虚拟类):s

c - 如何枚举内核中指定进程的所有打开句柄(Windows)

我有一个内核驱动程序。我如何枚举我的内核驱动程序中指定进程的所有打开句柄?我想关闭这些句柄。谢谢! 最佳答案 Iwanttoclosethesehandles.就其值(value)而言,仅仅因为可以做某事,并不意味着应该做。这是个坏主意。也就是说,可以使用对Zw/NtQuerySystemInformation的未记录调用来枚举所有进程的所有句柄。具有信息类SystemHandleInformation。使用这些术语进行网络搜索会得到您想要的结果。 关于c-如何枚举内核中指定进程的所有打

c - 是否可以仅按名称管理 JobObject,而无需保持打开的 HANDLE?

使用流程,我可以执行以下操作:intpid;::CreateProcess(NULL,cmd,...,&pi);pid=pi.dwProcessId;::CloseHandle(pi.hProcess);//thenlater...HANDLEproc=::OpenProcess(PROCESS_TERMINATE,FALSE,pid);::TerminateProcess(proc,1);::CloseHandle(proc);以这种方式,我可以仅通过pid管理windows进程,这对于多平台代码来说非常好。我想将此模式扩展到作业对象:HANDLEjob=::CreateJobObj

windows - 变量中的 utf8 字符串转换无效

这里的效果是消息文本是正确的希腊字母,但消息标题都是空框,有时其他文本有中文字符。stringmsg="έναμήνυμα";MessageBoxW(null,"έναμήνυμα",cast(wchar*)msg.toStringz,MB_ICONERROR); 最佳答案 您需要使用toUTF16z(来自std.utf)将string转换为LPCWSTR而不是强制转换时:MessageBoxW(null,"έναμήνυμα",toUTF16z(msg),MB_ICONERROR);您不需要对字符串文字做任何事情,因为编译器会通过

c - UDP 应用程序中客户端或服务器宕机时如何处理

我正在开发一个使用UDP进行客户端服务器通信的Windows应用程序,但是由于UDP是无连接的,因此每当客户端出现故障时,服务器都不知道客户端已关闭并继续发送数据。服务器关闭时的情况与此类似。我怎样才能满足这种情况,即每当客户端或服务器中的任何一个宕机时,另一方必须知道并且可以处理它。等待回复。 最佳答案 你问的超出了UDP的范围。您需要通过UDP实现自己的协议(protocol)才能实现此目的。一个简单的想法是定期发送keepalivemessages(另一方面,TCP具有此功能)。你可以有一个简单的实现如下:让后台线程不断发送这